using System;
using System.Collections.Generic;
using System.Text;

namespace EuropeEngulfed.NET
{
    abstract class Region : IEquatable<Region>
    {
        protected MapInfo.RegionID EERegionID;
        protected string name;

        public Region()
        {
            this.EERegionID = MapInfo.RegionID.Austria;
            this.name = "";
        }

        public Region(MapInfo.RegionID EERegionID,string name)
        {
            this.EERegionID = EERegionID;
            this.name = name;
        }

        public string Name
        {
            get
            {
                return name;
            }
        }

        public MapInfo.RegionID RegionID
        {
            get
            {
                return EERegionID;
            }
        }

        public bool Equals(Region EERegion)
        {
            return this.EERegionID == EERegion.EERegionID;
        }

        public abstract bool shouldBeAddedToMapGraph();
        public abstract bool IsLandRegion();
        public abstract bool IsSeaRegion();
    }
}
